﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="VehicleTransaction.cs" company="Concept Architecture">
//   (c) 2010 Muhammad Umer Farooq
// </copyright>
// <summary>
//   Defines the  type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Hisaab.Client.Model
{
    using System;

    /// <summary>
    /// Defines the <seealso cref="VehicleTransaction"/> type.
    /// </summary>
    public class VehicleTransaction : ModelBase
    {
        /// <summary>
        /// Member variable _id
        /// </summary>
        private int _id;

        /// <summary>
        /// Member variable _milage
        /// </summary>
        private int _milage;

        /// <summary>
        /// Member variable _notes
        /// </summary>
        private string _notes;

        /// <summary>
        /// Member variable _fill
        /// </summary>
        private decimal? _fill;

        /// <summary>
        /// Member variable _oil
        /// </summary>
        private decimal? _oil;

        /// <summary>
        /// Member variable _service
        /// </summary>
        private decimal? _service;

        /// <summary>
        /// Member variable _transactionId
        /// </summary>
        private int _transactionId;

        /// <summary>
        /// Member variable _tires
        /// </summary>
        private decimal? _tires;

        /// <summary>
        /// Member variable _vehicleId
        /// </summary>
        private int _vehicleId;

        /// <summary>
        /// Member variable _account
        /// </summary>
        private int _account;

        /// <summary>
        /// Member variable _fuel
        /// </summary>
        private decimal? _fuel;

        /// <summary>
        /// Member variable _date
        /// </summary>
        private DateTime _date;

        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>
        /// The id of transaction.
        /// </value>
        public int Id
        {
            get
            {
                return _id;
            }

            set
            {
                if (_id != value)
                {
                    _id = value;
                    RaisePropertyChangedEvent("Id");
                }
            }
        }

        /// <summary>
        /// Gets or sets the milage.
        /// </summary>
        /// <value>
        /// The milage.
        /// </value>
        public int Milage
        {
            get
            {
                return _milage;
            }

            set
            {
                if (_milage != value)
                {
                    _milage = value;
                    RaisePropertyChangedEvent("Milage");
                }
            }
        }

        /// <summary>
        /// Gets or sets the notes.
        /// </summary>
        /// <value>
        /// The notes.
        /// </value>
        public string Notes
        {
            get
            {
                return _notes;
            }

            set
            {
                if (_notes != value)
                {
                    _notes = value;
                    RaisePropertyChangedEvent("Notes");
                }
            }
        }

        /// <summary>
        /// Gets or sets the fill.
        /// </summary>
        /// <value>
        /// The fill quantity.
        /// </value>
        public decimal? Fill
        {
            get
            {
                return _fill;
            }

            set
            {
                if (_fill != value)
                {
                    _fill = value;
                    RaisePropertyChangedEvent("Fill");
                }
            }
        }

        /// <summary>
        /// Gets or sets the oil.
        /// </summary>
        /// <value>
        /// The oil Fill.
        /// </value>
        public decimal? Oil
        {
            get
            {
                return _oil;
            }

            set
            {
                if (_oil != value)
                {
                    _oil = value;
                    RaisePropertyChangedEvent("Oil");
                }
            }
        }

        /// <summary>
        /// Gets or sets the service.
        /// </summary>
        /// <value>
        /// The service.
        /// </value>
        public decimal? Service
        {
            get
            {
                return _service;
            }

            set
            {
                if (_service != value)
                {
                    _service = value;
                    RaisePropertyChangedEvent("Service");
                }
            }
        }

        /// <summary>
        /// Gets or sets the transaction id.
        /// </summary>
        /// <value>
        /// The transaction id.
        /// </value>
        public int TransactionId
        {
            get
            {
                return _transactionId;
            }

            set
            {
                if (_transactionId != value)
                {
                    _transactionId = value;
                    RaisePropertyChangedEvent("TransactionId");
                }
            }
        }

        /// <summary>
        /// Gets or sets the tires.
        /// </summary>
        /// <value>
        /// The tires.
        /// </value>
        public decimal? Tires
        {
            get
            {
                return _tires;
            }

            set
            {
                if (_tires != value)
                {
                    _tires = value;
                    RaisePropertyChangedEvent("Tires");
                }
            }
        }

        /// <summary>
        /// Gets or sets the vehicle id.
        /// </summary>
        /// <value>
        /// The vehicle id.
        /// </value>
        public int VehicleId
        {
            get
            {
                return _vehicleId;
            }

            set
            {
                if (_vehicleId != value)
                {
                    _vehicleId = value;
                    RaisePropertyChangedEvent("VehicleId");
                }
            }
        }

        /// <summary>
        /// Gets or sets the account.
        /// </summary>
        /// <value>
        /// The account.
        /// </value>
        public int Account
        {
            get
            {
                return _account;
            }

            set
            {
                if (_account != value)
                {
                    _account = value;
                    RaisePropertyChangedEvent("Account");
                }
            }
        }

        /// <summary>
        /// Gets or sets the date.
        /// </summary>
        /// <value>
        /// The date of transaction
        /// </value>
        public DateTime Date
        {
            get
            {
                return _date;
            }

            set
            {
                if (_date != value)
                {
                    _date = value;
                    RaisePropertyChangedEvent("Date");
                }
            }
        }

        /// <summary>
        /// Gets or sets the fuel.
        /// </summary>
        /// <value>
        /// The price of fuel.
        /// </value>
        public decimal? Fuel
        {
            get
            {
                return _fuel;
            }

            set
            {
                if (_fuel != value)
                {
                    _fuel = value;
                    RaisePropertyChangedEvent("Fuel");
                }
            }
        }
    }
}